/*
* @Author: wanghuan
* @Date:   2017-09-15 14:00:11
* @Last Modified by:   Administrator
* @Last Modified time: 2017-09-19 14:40:16
*/
var webpack=require('webpack');
var ExtractTextPlugin = require('extract-text-webpack-plugin');
var HtmlWebpackPlugin = require('html-webpack-plugin');
// 环境变量配置，dev / online
var WEBPACK_ENV         = process.env.WEBPACK_ENV || 'dev';
console.log(WEBPACK_ENV );
// 获取html-webpack-plugin参数的方法 
var getHtmlConfig = function(name, title){
    return {
        template    : './src/view/' + name + '.html',
        filename    : 'view/' + name + '.html',
        favicon     : './favicon.ico',
        title       : title,
        inject      : true,
        hash        : true,
        chunks      : ['common', name]
    };
};
    // webpack config
var config = {
     entry: {
       'common'            : ['./src/page/common/index.js'],
        'index'             : ['./src/page/index/index.js'],
        'list'              : ['./src/page/list/index.js'],
        'detail'            : ['./src/page/detail/index.js'],
        'cart'              : ['./src/page/cart/index.js'],
        'order-confirm'     : ['./src/page/order-confirm/index.js'],
        'order-list'        : ['./src/page/order-list/index.js'],
        'order-detail'      : ['./src/page/order-detail/index.js'],
        'payment'           : ['./src/page/payment/index.js'],
        'user-login'        : ['./src/page/user-login/index.js'],
        'user-register'     : ['./src/page/user-register/index.js'],
        'user-pass-reset'   : ['./src/page/user-pass-reset/index.js'],
        'user-center'       : ['./src/page/user-center/index.js'],
        'user-center-update': ['./src/page/user-center-update/index.js'],
        'user-pass-update'  : ['./src/page/user-pass-update/index.js'],
        'result'            : ['./src/page/result/index.js'],
        'about'             : ['./src/page/about/index.js'],

 },
     output: {
          path        : __dirname + '/dist/',
          publicPath  : 'dev' === WEBPACK_ENV ? '/dist/' : '//s.whmall.ink/mmall-fe/dist/',//publicPath:'/dist/',图片,js,css引用路径,结尾要有杠
         filename: 'js/[name].js'//新建一个js文件夹下
     },
     externals : {
     	'jquery' : 'window.jQuery'
     },
     module:{
    loaders:[
    {test:/\.css$/, loader:ExtractTextPlugin.extract("style-loader","css-loader")},//根据new ExtractTextPlugin改动，因为不想样式打包到脚本
     {test:/\.(gif|png|jpg|woff|svg|eot|ttf)\??.*$/, loader:'url-loader?limit=100&name=resource/[name].[ext]'},
      {
                test: /\.string$/, 
                loader: 'html-loader',
                 query : {
                    minimize : true,//压缩
                    removeAttributeQuotes : false//不去除引号
                }
                
                }
     ]//图片大于100就以文件形式存在，后边是文件名


     },
      resolve : {
        alias: {//别名 
            node_modules    : __dirname + '/node_modules',
            util            : __dirname + '/src/util',//__dirname 表示当前文件所在的目录的绝对路径
            page            : __dirname + '/src/page',
            service         : __dirname + '/src/service',
            image           : __dirname + '/src/image'
        }
    },
    
     plugins:[
     //独立通用模块到js/base.js
new  webpack.optimize.CommonsChunkPlugin({
    name:'common',//本来默认是commons，这样的话就把entry中的common也放到base.js里
    filename:'js/base.js'
}
    ),
//把css单独打包到文件里
new ExtractTextPlugin("css/[name].css"),
//html模板的处理
new HtmlWebpackPlugin(getHtmlConfig('index', '首页')),
new HtmlWebpackPlugin(getHtmlConfig('user-login', '用户登录')),
new HtmlWebpackPlugin(getHtmlConfig('result', '操作结果')),
new HtmlWebpackPlugin(getHtmlConfig('user-register', '用户注册')),
new HtmlWebpackPlugin(getHtmlConfig('user-pass-reset', '找回密码')),
new HtmlWebpackPlugin(getHtmlConfig('user-center', '个人中心')),
new HtmlWebpackPlugin(getHtmlConfig('user-center-update', '修改个人信息')),
new HtmlWebpackPlugin(getHtmlConfig('user-pass-update', '修改密码')),
new HtmlWebpackPlugin(getHtmlConfig('list', '商品列表')),
 new HtmlWebpackPlugin(getHtmlConfig('detail', '商品详情')),
 new HtmlWebpackPlugin(getHtmlConfig('cart', '购物车')),
 new HtmlWebpackPlugin(getHtmlConfig('order-confirm', '订单确认')),
  new HtmlWebpackPlugin(getHtmlConfig('order-list', '订单列表')),
   new HtmlWebpackPlugin(getHtmlConfig('order-detail', '订单详情')),
    new HtmlWebpackPlugin(getHtmlConfig('payment', '订单支付')),
     new HtmlWebpackPlugin(getHtmlConfig('about', '关于MMall')),
     ]
 };
if('dev' === WEBPACK_ENV){
    config.entry.common.push('webpack-dev-server/client?http://localhost:8088/');

}
 module.exports = config;
